Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Version 139 (modified by Robby, 4 years ago) (diff)

Remove mentions of defunct services AIM, MSN, and Yahoo.

Help home > FAQ home

Protocol Specific Questions

  1. ICQ (OSCAR) Protocol
    1. Can I set my profile?
    2. I just changed my buddy icon and I can't see the new one!
    3. Can I send SMS messages?
    4. Can I add SMS numbers to my buddy list?
    5. Why do my buddies' messages display incorrectly?
    6. Why do I get the error "Unable to connect to BOS server"?
  2. IRC Protocol
    1. How do I join a channel?
    2. Is there a way to make Pidgin automatically authenticate/identify me …
    3. Can I hide messages from NickServ, ChanServ, etc. on login?
    4. How do I identify myself with a buddy pounce?
    5. How do I send a message to a user or bot on login?
    6. Can I automatically join channels on login?
    7. Is it possible to change the user name that appears in username@hostname?
    8. How can I set/change my real name?
    9. Why does text display incorrectly?
    10. How can I hide join/part messages?
  3. XMPP (Jabber) Protocol
    1. Setting up XMPP accounts
      1. Does Pidgin support Jabber?
      2. Where is the difference between Jabber and XMPP?
      3. Does Pidgin support Nimbuzz, Web.de Messenger, GMX Messenger or 1&1 …
      4. How do I choose which XMPP server to use or configure an XMPP account?
      5. What is the "Resource" field for in the account editor?
      6. How do I change my resource string?
      7. How can I configure resource priority?
      8. Why can't I log on to my Google Talk/Google Apps account anymore?
      9. How do I configure Pidgin to connect to Google Talk for my domain …
      10. I'm using Google Apps with a non-Google e-mail address. Can I use …
      11. How do I use Pidgin with MeinVZ/StudiVZ's chat box?
      12. Why do I get an "SSL Handshake Failed" error when connecting to …
      13. Why do I get a "Server does not use any supported authentication …
      14. Why do I get a "Not authorized" error after turning on two-factor …
    2. XMPP Buddies
      1. What does "Cancel Presence Notification" do?
      2. How can I deauthorize a buddy from seeing my status?
      3. What does "Unsubscribe" do?
    3. XMPP Multi-User-Conferences (Chatrooms)
      1. How do I create a conference?
      2. How do I invite a buddy to a conference?
      3. How do I configure a chatroom?
    4. Miscellaneous
      1. Why can't I send a file?
      2. Which XEPs does libpurple support?
      3. Does Pidgin support Service Discovery or Transports?
  4. Gadu-Gadu (GG) Protocol
    1. What is Gadu-Gadu?
    2. I compiled Pidgin from source. Why doesn't it have Gadu-Gadu support?
  5. Zephyr Protocol
    1. What is Zephyr?
    2. Other Zephyr clients (zwgc, owl, tzc) work, but Pidgin dies with …
    3. Pidgin isn't working, but I never got any other Zephyr client working
    4. How do I avoid compiling Pidgin with Kerberos 4 support?
    5. How do I use Zephyr from behind my firewall?
    6. Why can't I use Zephyr on Windows?
  6. SILC Protocol
    1. What is SILC?
    2. What do I need to use the SILC protocol?
  7. Novell Groupwise Messenger Protocol
    1. Are there any public servers?
    2. I can't seem to get it to work.
  8. Lotus Sametime Protocol
    1. Are there any public servers?
    2. Why doesn't Sametime appear in the protocols list?
    3. Why do I get the error "Not Authorized" when connecting?
  9. Bonjour (Link-Local Messaging)
    1. What is Bonjour?
    2. Can I use Windows Pidgin for Bonjour?
  10. MXit
  11. Facebook Chat
  12. Other Protocols
    1. Why does Pidgin not support CyanChat, MS LCS, NateOn, Netsoul, …

ICQ (OSCAR) Protocol

Can I set my profile?

Yes, you can. Go to Accounts->account name->Set User Info.

I just changed my buddy icon and I can't see the new one!

First, try IMing yourself a few times. Buddy icons are checked when you IM people, so that may work. If it still doesn't update, check the file size (buddy icons must be smaller than 4kb) and the image size (it should be 48x48 or 50x50 in most cases). Also, check the file type. GIF or JPEG images are best supported. If all of that checks out and it still doesn't work, try restarting Pidgin.

Can I send SMS messages?

Yes, starting with pidgin version 2.2.0, you can send SMS via ICQ. This works only with carriers which ICQ supports. For example, if you want to send SMS to a phone number 052-3999999 in Israel, open a new conversation window in ICQ and enter the following: +972523999999 or (+<country code><area code without 0><phone number>).

Can I add SMS numbers to my buddy list?

Yes. You should be able to add phone numbers to your buddy list using the same format as explained in the previous question.

Why do my buddies' messages display incorrectly?

ICQ has no comprehension of character sets or encodings. It simply sends (almost) any random chunk of data a user enters. Pidgin by default assumes everything is UTF-8. If this is not the case, you will need to edit your account (Accounts->your ICQ account->Edit Account) and change the Encoding setting on the Advanced tab. You will need to enter the correct encoding for your buddies' messages there. At this time it is currently possible to configure only one encoding for an ICQ account.

Some details about this should be collected on the ICQEncodingProgress page.

Why do I get the error "Unable to connect to BOS server"?

At the end of 2018 ICQ announced that they were shutting down the old (OSCAR) protocol in favour of a new (WIM) protocol. Pidgin ships with an ICQ protocol that uses OSCAR. As of the end of March 2019, the OSCAR protocol is completely shut down. You will either need to switch to a new protocol or use the IcyQue plugin to continue using ICQ.

IRC Protocol

How do I join a channel?

Create an IRC account and then sign on. After you have signed on, you can use Buddies->Join A Chat on the buddy list to join a channel. In any window, either a conversation or a chat, in which your IRC user is the sender, you can also use /join to connect to a new channel.

Is there a way to make Pidgin automatically authenticate/identify me on login?

Can I hide messages from NickServ, ChanServ, etc. on login?

Try the irchelper plugin from the Purple Plugin Pack. This plugin provides fields to enter the services bot's nickname and your services password. It also automatically suppresses messages from the services bots sent upon connection.

Alternatively, see the next question for a way to do authentication with buddy pounces.

NB: This plugin does also work with Q on QuakeNet, not just with IRC networks that use NickServ.

How do I identify myself with a buddy pounce?

How do I send a message to a user or bot on login?

  1. Enable your IRC account.
  2. Add the nick of the user or bot to your buddy list
  3. Right-click the new buddy and click "Add Buddy Pounce" to create a new pounce
  4. Make sure "Signs on" is the only checked box in the "Pounce When Buddy..." section
  5. Make sure "Send a message" is checked under "Action"
  6. Enter the message, such as:
    identify mypassword
    
  7. Make sure "Recurring" is checked beneath "Options" or the pounce will work only once
  8. Click Save to save the pounce.

Note that you do not include '/msg nickname' as part of the message in the pounce.

Can I automatically join channels on login?

On the buddy list, select Buddies->Add Chat. Use this dialog to add the chat to your buddy list. Once the chat appears in your list, right-click on it and select Auto-Join. The channel will auto-join whenever you sign onto your IRC account.

Is it possible to change the user name that appears in username@hostname?

Go to the Accounts menu. Select your IRC account and click Edit Account. Click the Advanced tab. Enter a name in the Username field.

How can I set/change my real name?

Go to the Accounts menu. Select your IRC account and click Edit Account. Click the Advanced tab. Enter a name in the Real Name field.

Why does text display incorrectly?

IRC has no comprehension of character sets or encodings. It simply sends (almost) any random chunk of data a user enters. Pidgin by default assumes everything is UTF-8. If this is not the case, you will need to edit your account (Accounts->your IRC account->Edit Account) and change the Encoding setting on the Advanced tab. You will need to enter the correct encoding for your channels there. You can specify multiple encodings in a comma-delimited list, such as UTF-8,ISO-8859-15, to cause Pidgin to attempt multiple encodings. In this case, each encoding is tried in succession until a successful decode happens or all encodings listed are exhausted.

How can I hide join/part messages?

See this FAQ entry.

XMPP (Jabber) Protocol

Setting up XMPP accounts

Does Pidgin support Jabber?

Yes!

Where is the difference between Jabber and XMPP?

Jabber and XMPP are the same protocol. There is no difference.

Does Pidgin support Nimbuzz, Web.de Messenger, GMX Messenger or 1&1 Messenger?

Yes, these services use the XMPP protocol.

How do I choose which XMPP server to use or configure an XMPP account?

The XMPP server is part of your XMPP ID. For example, in the ID foo@bar.com, bar.com would be the server to use. When entering your XMPP account information into Pidgin, specify everything before the @ (foo in the example ID) in the Username field and everything after the @ (bar.com in the example) in the Domain field.

What is the "Resource" field for in the account editor?

The resource field specifies the XMPP resource you are using. The use of unique resources allows you to connect to your XMPP server from multiple locations simultaneously. Resources might have meaningful names, such as Home, Work, Mobile, etc., or something else entirely that you choose. Pidgin defaults to a blank resource since 2.5.3.

How do I change my resource string?

Go to Accounts->Add/Edit. Find your XMPP account and uncheck the Enabled box. Select the account and click Modify. Change the string in the Resource field.

How can I configure resource priority?

Pidgin (more specifically, libpurple) does not currently support user-configurable priorities. We have a non-configurable priority list that is used:

Status NamePriority
Available 1
Chatty1
Away0
Do Not Disturb0
Extended Away0

Why can't I log on to my Google Talk/Google Apps account anymore?

In previous versions, Pidgin would automatically use the server talk.google.com to connect to your account. This was removed in version 2.5.2 so that these connections would not cause certificate errors.

Many home routers are broken and can't handle the SRV lookups required for Pidgin to automatically determine the server to which to connect. In the debug log, you will see

dnssrv: found 0 SRV entries

You can confirm this by running

Linux: dig +short SRV _xmpp-client._tcp.<server> (e.g. gmail.com)
Windows: nslookup -type=srv _xmpp-client._tcp.<server> (e.g. gmail.com)

If that command returns no results, then you will need to reconfigure the router to not act as the DNS server for the client computers. Typically, this setting is labeled something along the lines of "Use Router as DNS Server" (this should be disabled) in the router's configuration.

If you are using OpenWRT, you can fix this by editing /etc/dnsmasq.conf and comment the following line by adding a # in front of it:

filterwin2k

OpenWRT 10.03.1 'Backfire' needs dnsmasq's 'Domain Needed' to be disabled. In LuCI, this can be found under Network->DHCP and DNS->General->Domain Required (unchecked). Or from the command line by removing the following option from /etc/config/dhcp's dnsmasq section

option 'domainneeded' '1'

If your Google Apps for Your Domain does not have SRV records, add the following entries:

_xmpp-server._tcp.yourdomain.com. IN SRV 5 0 5269 xmpp-server.l.google.com.
_xmpp-server._tcp.yourdomain.com. IN SRV 20 0 5269 alt1.xmpp-server.l.google.com.
_xmpp-server._tcp.yourdomain.com. IN SRV 20 0 5269 alt2.xmpp-server.l.google.com.
_xmpp-server._tcp.yourdomain.com. IN SRV 20 0 5269 alt3.xmpp-server.l.google.com.
_xmpp-server._tcp.yourdomain.com. IN SRV 20 0 5269 alt4.xmpp-server.l.google.com.

Here's a screenshot on how to do this in Linode's DNS manager: https://developer.pidgin.im/raw-attachment/ticket/15180/Adding%20SRV%20records%20for%20XMPP%20in%20Linode

How do I configure Pidgin to connect to Google Talk for my domain hosted on Google Apps?

Entering your username for "Username", your Google Apps hosted domain name in the "Domain" field, and your password in the "Password" field should be all that is necessary.

If this doesn't work, it is likely because your domain doesn't have the appropriate DNS SRV records set up or your local DNS doesn't handle SRV records (see this FAQ for more information).

If you are unable to fix the DNS settings, as a workaround you can specify talk.google.com in the "Connect Server" field in the "Advanced" tab.

See: Google's help page, for more information.

I'm using Google Apps with a non-Google e-mail address. Can I use Pidgin with this account?

No, you can't. This is a server-side restriction. Anyway, using GoogleTalk with a non-Google e-mail address (that is, an e-mail account that doesn't live on a GoogleMail server) is not a good idea because these accounts appear to other users as <someterriblenumber>@talk.google.com rather than using something that someone could remember.

How do I use Pidgin with MeinVZ/StudiVZ's chat box?

The protocol used by these services is XMPP. Your username is the email address that you use to log in with, however you need to replace the @ with \40. The domain is vz.net. You don't need to change anything on the Advanced tab.

Why do I get an "SSL Handshake Failed" error when connecting to Oracle's XMPP server?

The SSL/TLS implementation used by Oracle's XMPP server does not support TLS 1.0 or newer, and immediately aborts the negotiation if the ClientHello record version is newer than SSL 3.0. This causes issues when Pidgin is built with GnuTLS SSL support, as GnuTLS defaults to negotiating TLS 1.0. In order to work around this, you either need to build Pidgin with NSS SSL support or upgrade to Pidgin 2.7.0 or newer and run Pidgin like this:

PURPLE_GNUTLS_PRIORITIES="stbeehive.oracle.com=NORMAL:%COMPAT:-VERS-TLS1.2:-VERS-TLS1.1" pidgin

Why do I get a "Server does not use any supported authentication method" error?

If you get this error, have a look in your debug log to see if you also get the error message "sasl: sasl_state is -1, failing the mech and trying again" If you are getting this, a workaround is to try adding your hostname (from /etc/hostname) to your /etc/hosts as an alias for 127.0.0.1 then reconnect.

Why do I get a "Not authorized" error after turning on two-factor authentication?

If you get this error, you might need to allow "less secure apps" to connect via https://www.google.com/settings/security/lesssecureapps or set an app password for Pidgin via https://security.google.com/settings/security/apppasswords

XMPP Buddies

What does "Cancel Presence Notification" do?

See the next question.

How can I deauthorize a buddy from seeing my status?

Right-click the buddy on the buddy list and select Cancel Presence Notification. Note that the buddy will have to request authorization again to be able to see your presence.

What does "Unsubscribe" do?

If you select "Unsubscribe" from the menu presented when right-clicking an XMPP buddy, you will no longer see that buddy's presence. You will need to re-request authorization to resume seeing the buddy's presence.

XMPP Multi-User-Conferences (Chatrooms)

How do I create a conference?

There are two methods:

  1. Join the conference
    1. Select "Join a Chat" from the buddy list's "Buddies" menu.
    2. Select your XMPP account.
    3. Fill in the fields you see.
      • "Room" should be the short name of the conference. For example, "myconference"
      • "Server" is the server on which the conference will be created. It must be a MUC server, such as conference.jabber.org. The chat's ID will be Room@server, so the example "myconference" would have the id "myconference@….
      • "Handle" is the name you wish to be displayed in the chat. It is similar in concept to a nickname on IRC.
      • "Password" is optional for creating a new room. You probably don't want to fill this field in.
    4. Click "Join."
    5. You will see a dialog asking you about creating the new room. You can either accept the default configuration or configure the room, at your option.
  2. Add the conference to your roster (buddy list)
    1. Select "Add Chat" from the buddy list's "Buddies" menu.
    2. Select your XMPP account.
    3. Fill in the fields you see.
      • "Room" should be the short name of the conference. For example, "myconference"
      • "Server" is the server on which the conference will be created. It must be a MUC server, such as conference.jabber.org. The chat's ID will be Room@server, so the example "myconference" would have the id "myconference@….
      • "Handle" is the name you wish to be displayed in the chat. It is similar in concept to a nickname on IRC.
      • "Password" is optional for creating a new room. You probably don't want to fill this field in.
      • "Alias" is the alias you wish to assign to the chat. By assigning an alias, you can display a useful description in the buddy list instead of the chat's name.
      • "Group" is the group in your buddy list in which you wish the chat to appear.
    4. Click "Add."
    5. Find the chat in your buddy list and double-click it.
    6. You will see a dialog asking you about creating the new room. You can either accept the default configuration or configure the room, at your option.

How do I invite a buddy to a conference?

Select "Invite" from the chat's "Conversation" menu. Note that you can only invite people to a conversation that is already a chat--you can't "promote" a one-on-one conversation to a chat.

How do I configure a chatroom?

Type /config or /configure in the conversation window.

Miscellaneous

Why can't I send a file?

There are a number of possible reasons for this.

  • If the user you're trying to send to is using the Google Talk client, it isn't possible as that client doesn't use the standard XMPP file transfers.
  • The XMPP server you're using may not support a file transfer proxy and your network setup doesn't allow direct incoming connections. In this case, you may be able to specify an alternative file transfer proxy in the "Advanced" settings of your XMPP account.
  • The file transfer proxy in use may be broken (see #5840).

Which XEPs does libpurple support?

See the SupportedXEPs page for the list.

Does Pidgin support Service Discovery or Transports?

Service discovery and transport registration are supported in Pidgin as of 2.6.0 (via the XMPP Service Discovery plugin), but not Finch.

However, using transports with Finch is possible, with the caveat that either your transport does not require registration or you have already registered using another client.

If you want to use a protocol that is supported by Pidgin natively, it is recommended to use Pidgin's own implementation rather than a Jabber transport.

Gadu-Gadu (GG) Protocol

What is Gadu-Gadu?

Gadu-Gadu is an IM protocol popular in Poland. You can find more about it at www.gadu-gadu.pl (website in Polish).

I compiled Pidgin from source. Why doesn't it have Gadu-Gadu support?

We now use an external libgadu. Install your distro's libgadu-dev or libgadu-devel package and rebuild Pidgin (making sure to rerun ./configure). If your distro doesn't provide libgadu, you can download it from here. Unpack the tarball and run:

~/libgadu-1.7.0$ ./autogen.sh --prefix=/usr --disable-libgadu-openssl \
> --disable-static --enable-shared
~/libgadu-1.7.0$ make
~/libgadu-1.7.0$ su -c "make install"

Zephyr Protocol

What is Zephyr?

Zephyr is an IM protocol developed at MIT for use with Project Athena. Its features include Kerberos IV authentication and multi-level chats (aka "subscriptions"). You're probably using this because your college/employer/organization uses it as a local IM/chat system. If not, you probably don't have a server to connect to.

Other Zephyr clients (zwgc, owl, tzc) work, but Pidgin dies with "Couldn't initialize zephyr"

Your site might require the use of Kerberos 4 for authentication, though few prepackaged Pidgin binaries use Kerberos. One solution is to compile Pidgin with the --with-krb4 flag to point to the location of your Kerberos 4 devel files, usually one of /usr, /usr/local, or /usr/athena, e.g.

~/pidgin$ ./configure --with-krb4=/path/to/kerberosIV

Pidgin isn't working, but I never got any other Zephyr client working

You need to have zhm (which comes with the standard Zephyr distribution) installed, and running, and pointed at your Zephyr servers. e.g.

zhm z1.example.com z2.example.com z3.example.com

Alternatively, there might be a firewall or a NAT between you and the Zephyr servers. Zephyr generally doesn't work in an environment where incoming connections cannot be made to arbitrary UDP ports.

How do I avoid compiling Pidgin with Kerberos 4 support?

See the next question; the same trick for firewall traversal applies to avoiding building with Kerberos support.

How do I use Zephyr from behind my firewall?

You can use tzc ("Trivial Zephyr Client") and ssh to run Zephyr from a machine that is behind a firewall or NAT. First, make sure that tzc is installed and working on the remote machine. The best version of tzc to use can be found here.

Make sure that you can make a passwordless ssh connection to the remote machine and get kerberos 4 tickets. Then, click the Advanced tab in the account editor, enable "Use tzc", and set the tzc command to

/path/to/ssh username@hostname /path/to/tzc -e "%s"

Alternately, if you have tzc working on your machine, you can enable "Use tzc", and set the tzc command to

/path/to/tzc -e "%s"

Why can't I use Zephyr on Windows?

Pidgin does not support Zephyr on Windows due to upstream technical limitations. The current libzephyr library does not compile on the Windows platform and there are no known usable builds of "zhm" available for Windows. If you are a Windows user, you most likely do not have any use for Zephyr anyway.

SILC Protocol

What is SILC?

SILC is an open, security-focused, end-to-end encrypted protocol. See http://www.silcnet.org for more details.

What do I need to use the SILC protocol?

You need to install the SILC toolkit and the Pidgin SILC plugin. This plugin is generally provided as a separate package (such as a purple-silc RPM). If you're compiling yourself, see the ./configure --help for specifying the SILC includes and libs. If you're compiling an SRPM, use --with silc to build the purple-silc RPM.

In Windows, the SILC toolkit is installed with Pidgin.

Some distributions provide the SILC toolkit and include Pidgin's SILC plugin in their Pidgin package.

Novell Groupwise Messenger Protocol

Novell GroupWise Messenger is a component of Novell GroupWise see http://www.novell.com/products/groupwise

Are there any public servers?

Not really. This protocol is designed to connect to a Novell GroupWise Messenger server running on a corporate LAN. No one that we're aware of runs a public server.

I can't seem to get it to work.

Novell tells us that this protocol plugin will only work with either the GroupWise Messenger for Linux server or the GroupWise Messenger SP2 (or higher) server for NetWare and Windows. In addition, the server must be secure (SSL enabled). If you have any trouble, see the FAQ question about submitting bugs, and they will be forwarded to Novell, who have been kind enough to continue active maintenance of the protocol plugin code they provided us.

Lotus Sametime Protocol

Are there any public servers?

Apart from a demonstration server hosted by Lotus, no. This protocol is designed to connect to a Lotus Sametime server running on a corporate LAN.

Why doesn't Sametime appear in the protocols list?

Sametime support in Pidgin depends on a separate library called Meanwhile. You will need to install both the Meanwhile library and the libpurple-meanwhile package to enable Sametime support. If you are building Pidgin from source, then libpurple-meanwhile will be built automatically if you have the development headers for Meanwhile installed.

Why do I get the error "Not Authorized" when connecting?

The Sametime server to which you're attempting to connect has been configured with a white-list of acceptable clients. This error indicates that the client ID used by Pidgin (0x1700) is apparently not in that white-list, so the server is not permitting you to log in. You can cause Pidgin to masquerade as the default Sametime Connect client by setting the "Hide client identity" option in your account preferences.

What is Bonjour?

Bonjour is a serverless messaging protocol developed by Apple Inc. (Apple article on Bonjour) based on XMPP that operates only on a local network. This XMPP extension defines the protocol.

Can I use Windows Pidgin for Bonjour?

As of version 2.0.2, Pidgin for Windows supports Bonjour. You must install Apple's Bonjour Print Services for Windows to use this functionality.

MXit

There are no known issues with MXit. Any issues that arise from MXit should be directed to MXit, as they provide and maintain that protocol plugin.

Facebook Chat

Facebook droped XMPP on 30.04.2014

Other Protocols

Why does Pidgin not support CyanChat, MS LCS, NateOn, Netsoul, Paltalk, Rediffbol, Skype, Steam, Teamspeak, Tlen.pl, WinMX, Xfire or any other protocol?

It is a lot of work to implement and maintain support for an additional protocol. As Pidgin developers are volunteers who work for Pidgin during their spare time, they have only limited time which means that they can only support a limited number of protocols. If you are willing and able to implement and maintain a protocol that you're using, you're welcome to do so.

You can find unsupported third-party plugins for CyanChat, MS Communicator, NateOn, Netsoul, Rediffbol, Tlen.pl, WinMX and Xfire here.

All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!